package com.ruozedata.bigdata.homework.homework01

/**
 * 求1-10000所有质数的和
 * author：008-宁波-呜呜呜
 * time：20200124
 */
object GetPrimeNumber {

    def main(args: Array[String]): Unit = {

        var sum:Int = 0;  // 求和结果

        for (n <- 1 to 10000) {
            if (is_prime(n)) {
                sum += n
            }
        }

        println(s"1-10000所有质数的和: $sum")
    }

    /**
     * 判断输入的数字是否为质数
     * @param n 需要判断的数字
     * @return true为质数
     */
    def is_prime(n:Int): Boolean = {
        var count:Int = 0;  // 计数  能整除的数字的个数
        for (i <- 1 to n if n % i == 0) {
            count += 1
        }
        if (count == 2) {
            // 只能整除自己和1=>质数
            true
        } else {
            false
        }
    }
}
